#pragma once

#include<gtest/gtest.h>

#include<galois/cont/TypeCheck.h>
using galois::cont::ArrayHandle;
using galois::cont::TypeCheck;
using galois::cont::TypeCheckArrayHandleTag;

struct Null
{
};
TEST(TypeCheck, ArrayHandle)
{
  EXPECT_EQ((TypeCheck<TypeCheckArrayHandleTag, ArrayHandle<int>>::value), true);
  EXPECT_EQ((TypeCheck<TypeCheckArrayHandleTag, ArrayHandle<float>>::value), true);
  EXPECT_EQ((TypeCheck<TypeCheckArrayHandleTag, int>::value), false);
  EXPECT_EQ((TypeCheck<TypeCheckArrayHandleTag, Null>::value), false);
}